package com.fowo.api.model.amazon.exchange.order;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 亚马逊换货订单表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class AmazonExchangeOrderImportPo {

  /** 换货时间 */
  @ExcelProperty("换货时间")
  @DateTimeString(message = "换货时间不是有效的时间日期格式")
  private String shipmentDate;

  /** MSKU */
  @ExcelProperty("MSKU")
  @Size(max = 50, message = "MSKU长度不能超过50")
  private String sku;

  /** ASIN */
  @ExcelProperty("ASIN")
  @Size(max = 50, message = "ASIN长度不能超过50")
  private String asin;

  /** 换货仓库 */
  @ExcelProperty("换货仓库")
  @Size(max = 50, message = "换货仓库长度不能超过50")
  private String fulfillmentCenterId;

  /** 原始仓库 */
  @ExcelProperty("原始仓库")
  @Size(max = 50, message = "原始仓库长度不能超过50")
  private String originalFulfillmentCenterId;

  /** 换货数量 */
  @ExcelProperty("换货数量")
  @IntegerString(message = "换货数量数值格式不正确", label = "换货数量")
  private String quantity;

  /** 换货原因 */
  @ExcelProperty("换货原因")
  private String replacementReasonCode;

  /** 换货订单号 */
  @ExcelProperty("换货订单号")
  @Size(max = 50, message = "换货订单号长度不能超过50")
  private String replacementAmazonOrderId;

  /** 原始订单号 */
  @ExcelProperty("原始订单号")
  @Size(max = 50, message = "原始订单号长度不能超过50")
  private String originalAmazonOrderId;

  /** 店铺id */
  @ExcelProperty("店铺id")
  @Size(max = 50, message = "店铺id长度不能超过50")
  private String sidShopName;

  @ExcelIgnore
  @Schema(title = "店铺id")
  private String sid;

  /** 站点 */
  @ExcelProperty("站点")
  @Size(max = 50, message = "站点长度不能超过50")
  private String region;

  /** 品名 */
  @ExcelProperty("品名")
  @Size(max = 50, message = "品名长度不能超过50")
  private String name;

  /** sku */
  @ExcelProperty("sku")
  @Size(max = 50, message = "sku长度不能超过50")
  private String productSku;

  /** 商品名字 */
  @ExcelProperty("商品名字")
  @Size(max = 50, message = "商品名字长度不能超过50")
  private String productName;

  /** 分类 */
  @ExcelProperty("分类")
  @Size(max = 50, message = "分类长度不能超过50")
  private String typeName;

  @ExcelIgnore
  @Schema(title = "分类")
  private String type;

  /** 品牌 */
  @ExcelProperty("品牌")
  @EnumsString(value = { "M MOOHAM" }, message = "品牌只能是“M MOOHAM”中的一个")
  private String brand;

  /** 国家 */
  @ExcelProperty("国家")
  @Size(max = 50, message = "国家长度不能超过50")
  private String countryName;

  @ExcelIgnore
  @Schema(title = "国家")
  private String country;

  /** 标签 */
  @ExcelProperty("标签")
  private String label;
}
